/*     ▼       ▼       ▼     */
/*                           */
/*    D  E  F  A  U  L  T    */
/*    S   T    Y    L   E    */
/*                           */
/*     ▼       ▼       ▼     */

:root {
    --accent-color: #ee313c;
    --dark-color: #333333;
    --light-color: #656565;
    --lighter-color: #919aa1;
    --title-tabledUp-size: 10rem;
    --title-phoneUp-size: 8rem;
    --title-tabledUp-height: 11rem;
    --title-phoneUp-height: 8rem;
}

.disable-touch {
    touch-action: none;
}

.light-color {
    color: var(--light-color);
}

.lighter-color {
    color: var(--lighter-color);
}

@font-face {
    font-family: "Jost";
    src: url("../res/fonts/Jost-400-Book.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: "Jost";
    src: url("../res/fonts/Jost-600-Semi.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
}

html, body {
    padding: 0px;
    margin: 0px;
    font-family: "Jost", sans-serif;
    font-weight: normal;
    color: var(--dark-color);
    font-size: 20px;
}

h1, h2, h3, h4, h5, h6, p {
    padding: 0px;
    margin: 0px;
    font-family: "Jost", sans-serif;
    font-weight: normal;
}

h1, h2, a, a:hover, a:visited {
    color: var(--accent-color);
}

h1 {
    font-size: 10rem;
    font-weight: 600;
    line-height: var(--title-tabledUp-height);
}

h2 {
    font-size: 3rem;
    font-weight: 600;
}

h3 {
    font-size: 1.75rem;
    font-weight: 600;
}

h4 {
    font-size: 1.5rem;
}

h5 {
    font-size: 1.5rem;
}

h6 {
    font-size: 1rem;
}

p {
    font-size: 1rem;
}

.main {
    padding-top: 4rem;
}

.title {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

.title-break {
    flex-basis: 100%;
    height: 0;
}

.title-Deep {}

.subtitle h3 {
    padding-left: 1rem;
    padding-top: 2.5rem;
    font-size: 2rem;
    padding-bottom: 2.5rem;
}

.scroll-container {
    display: flex;
    margin:auto;
    align-content: center;
    height: 4rem;
    animation: scroll 2s infinite ease-out;
}

.scroll-down-arrow {
    border: solid var(--accent-color);
    border-width: 0 4px 4px 0;
    padding: .5rem;
    transform: rotate(45deg);
    margin: auto;
    cursor: pointer;
}

@keyframes scroll {
    0% {
    }
    20% {
        transform: translateY(.5rem);
    }
    30% {
        transform: translateY(-.25rem);
    }
    40% {
        transform: translateY(.5rem);
    }
    100% {
    }
}

.detail-text p {
    font-size: .8rem;
    color: var(--light-color);
}

.detail-text-p p {
    font-size: .85rem;
    color: var(--light-color);
}

.source-text, .image-desc p {
    font-size: .75rem;
}

.viewport {
    display: flex;
    /* height: 100vh; */
    max-width: 100%;
    overflow: hidden;
    padding: 0px 100px 0px 150px;
}

#viewport0 {
    flex-direction: column;
}

#viewport1 {
    padding: 0px;
}

#viewport12 {
    padding: 0px;
    flex-wrap: wrap;
    justify-content: center;
}

.footer-container {
    flex-wrap: wrap;
    padding: 0px;
}

.logo {
    margin: auto;
    height: 4rem;
    max-width: 100%;
    padding-bottom: 0.5rem;
  }

.rows {
    height: auto;
    padding-top: 2.5vh;
}

.row-container {
    display: flex;
    width: 100%;
    padding: 0px 10px;
    min-height: 45%;
    max-height: 60%;
    overflow: hidden;
}

.vid {
    width: 55%;
    padding: 2%;
    display: flex;
    align-items: flex-end;
}

.caption {
    width: 45%;
    padding: 2%;
}

.specs {
    width: 55%;
    padding: 2%;
}

.pics {
    width: 45%;
    padding: 2%;
}

.welcome-container {
    width: 100%;
    padding-top: 5%;
    max-height: 70vh;
}

.video-container {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: 100%;
    width: 100%;
}

.video-player {
    height: 100%;
    width: 100%;
}

.interactive-video {
    height: 100%;
    width: 100%;
}

.video-adapt {
    right: 0;
    bottom: 0;
    width: 100%;
    max-height: 100%;
    /* z-index: -100; */
    background-size: cover;
}

.content-col {
    width: 100%;
}

.space-between {
    display: flex;
    justify-content: space-between;
}

.image-container {
    height: 100%;
    width: 50%;
}

.detail-col {
    width: 50%;
}

.top-space-2_5 {
    padding-top: 2.5vh;
}

.left-space-2_5 {
    padding-left: 2.5vw;
}

.left-space-5 {
    padding-left: 5vw;
}

.right-space-5 {
    padding-right: 5vw;
}

.top-space-5 {
    padding-top: 5vh;
}

.bottom-space-2_5 {
    padding-bottom: 2.5vh;
}

.image {
    height: 20vh;
}

.image-adapt {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    height: 100%;
}

.gif-margin {
    margin-right: 1rem;
}

.detail-row, .tab {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.button-selected {
    border-bottom: 4px solid var(--accent-color);
    background-color: rgba(238, 49, 60, 0.15);
}

.button-selected:hover {
    border-bottom: 4px solid var(--accent-color);
    background-color: rgb(238, 49, 60, 0.2);
}

.button {
    cursor: pointer;
    height: 5vh;
    width: 25%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s ease 0s;
}

.button p {
    font-size: .85rem;
}

.details {
    display: flex;
    flex-wrap: wrap;
}

.border-bottom {
    border-bottom: 1px solid var(--accent-color);
}

.ico {
    filter: brightness(.666);
    height: 2rem;
    width: 2rem;
    margin-right: 0.95rem;
}

.icon-group {
    display: flex;
    padding-bottom: 2.5vh;
}

.sources {
    padding-top: 1rem;
}

.intro {
    padding-top: 2rem;
}

.left-navbar {
    transition: left 300ms ease;
    position: fixed;
    width: 50px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.left-navbar-element {
    cursor: pointer;
    padding-left: 15%;
    line-height: 50px;
    width: 100%;
    transition: all 0.4s ease-out 0s;
}

.left-navbar-element p {
    font-size: .85rem;
}

.left-navbar-element-selected {
    padding-left: 15px;
    border-left: 6px solid var(--accent-color);
}

.left-navbar-element-selected p {
    color: var(--accent-color);
}

.process {
    width: 16.66%;
}

.space-between {
    display: flex;
    justify-content: space-between;
}

.last-page {
    width: 100%;
    display: flex;
    align-items: center;
    text-align: center;
    padding-top: 2.5%;
    padding-bottom: 2.5%;
}

footer {
    width: 100%;
    height: auto;
    padding-top: 1rem;
    align-self: flex-end;
    background-color: #f6f6f6;
    padding-bottom: 25px;
}

.paragraph {
    font-size: .85rem;
}

.home-button {
    position: fixed;
    bottom: 0;
    right: 0;
    min-width: 48px;
    height: 48px;
    margin: 24px;
    margin-right: 50px;
    border-radius: 24px;
    background-color: var(--accent-color);
    background-image: url("../res/ico/home_button.svg");
    background-size: 48px;
    background-repeat: no-repeat;
    background-position-x: 100%;
    background-position-y: 50%;
    cursor: pointer;
    z-index: 1000;
    transition: all 0.25s ease-out 0s;
    overflow: hidden;
}

.home-button-text {
    padding-left: 0px;
    overflow: hidden;
    line-height: 48px;
    padding-right: 0px;
    color: white;
    max-width: 0px;
    transition: all 1s ease 0s;
    overflow: hidden;
}

.language-bar {
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    padding: 36px;
    text-align: center;
}



.language-bar-element {
    margin: 0px 5px;
    padding: .25rem .75rem;
}

#langauge-selected {
    background-color: var(--accent-color);
    border-radius: 32px;
}

#langauge-selected a {
    color: white
}

.last-page-row {
    width: 100%;
}

.footer-viewport {
    flex-wrap: wrap;
}
.qr-container {
    width: 100%;
    display: flex;
    justify-content: center;
}

.qr-square {
    height: 196px;
    width: 196px;    
}

.qr-code {
    height: 100%;
    width: auto;    
} 

#summary {
    padding-top: 7.5vh;
}

#summary h3 {
    text-align: center;
}

.software-credits {
    align-self: flex-end;
    text-align: center;
    padding: 2.5vh 33.33%;
}

.software-credits p {
    font-size: .75rem;
}

custom-dropdown-menu{
    position: fixed;
}

/* LANGUAGE BAR NEW STYLE */ 

.language-bar-container {
    display: flex;
    position: absolute;
    bottom: 96px;
    right: 50px;
}

.language-bar {
    display: flex;
    flex-direction: row;
    color: var(--accent-color);
}

.language-selected {
    font-weight: bold;
    background-color: var(--accent-color);
}

.language-selected a {
    color: white;
}

.language-bar-node, .current-language {
    height: 48px;
    overflow: hidden;
    padding: 0px 25px;
}

.current-language {
    cursor: pointer;
    background-color: var(--accent-color);
    border-radius: 32px;
    color: white;
    display: flex;
    align-items: center;
}

.compact-language-bar {
    align-self: flex-end;
}

.custom-dropdown-menu{
    width: 100%;
    max-height: 0px;
    overflow: hidden;
    background-color: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(15px);
    transition: max-height 0.33s ease-out;
    border-radius: 32px;
    margin-bottom: 8px;
    filter: drop-shadow(8px 8px 32px rgba(0,0,0,0.125));
    border: solid 1px white;
}

.dropdown-menu-node {
    cursor: pointer;
    text-align: right;
    padding: 16px 25px;
    border-radius: 64px;
}

.dropdown-menu-node:hover {
    background-color: rgba(0,0,0,0.05);
}

.dropdown-menu-open {
    max-height: 1000px;
    transition: max-height 0.33s ease-in;
}


/*         ▲       ▲         */
/*         ▲       ▲         */
/*         ▲       ▲         */
/* Code above is default     */
/*         ▲       ▲         */
/*         ▲       ▲         */
/*         ▲       ▲         */


/* Here the fun begins       */


/*     ▼       ▼       ▼     */
/*                           */
/*     L A N D S C A P E     */
/*     O    N     L    Y     */
/*                           */
/*     ▼       ▼       ▼     */


/*                           */
/* Devices up to big tablets */
/* Galaxy Tab 2 (1280 x 800) */
/* landscape                 */
@media (max-width: 1919px) and (orientation:landscape) {

    html, body {
        font-size: 15px;
    }
    .viewport {
        padding: 0px 0px 0px 50px;
    }
    .home-button {
        margin: 24px;
    }
    .top-space-5 {
        padding-top: 2.5vh;
    }
    .image {
        max-height: 100%;
    }
    .language-bar {
        padding: 36px;
    }

    .qr-square {
        height: 128px;
        width: 128px;
    }

    .software-credits {
        padding: 2.5vh 25%;
    }
    
}

/*                           */
/* Devices up to med tablets */
/* Galaxy Tab S2 (1024 x 768)*/
/* landscape                 */
@media (max-width: 1199px) and (orientation:landscape) {
    html, body {
        background-color: white;
        font-size: 18px;
    }

    .button {
        width: 33.3%;
    }

    h2 {
        font-size: 2.3rem;
    }
    h3 {
        font-size: 1.25rem;
    }
    p {
        font-size: 0.85rem;
    }
    .detail-text p {
        font-size: .75rem;
        color: var(--light-color);
    }
    .left-space-5 {
        padding-left: 2.5vw;
    }
    .left-space-2_5 {
        padding-left: 1vw;
    }
    .process {
        width: 33.33%;
    }
}

/*                           */
/* Devices up to big mobile */
/* Samsung A50 & S10*/
/* landscape                 */
@media (max-width: 991px) and (orientation:landscape) {
    html, body {
        font-size: 12.5px;
    }
    
    .viewport {
        padding: 0px 0px 0px 0px;
    }
    
    .left-navbar {
        display: none;
    }

    .vid, .caption, .specs, .pics {
        padding: 1%;
    }

    .home-button {
        margin: 11px;
    }

    .language-bar-container {
        right: 11px;
        bottom: 64px;
    }

    .button {
        width: 33.3%;
    }

    h1 {
        font-size: 6rem;
         line-height: 7rem;
    }
    h2 {
        font-size: 2.3rem;
    }
    h3 {
        font-size: 1.25rem;
    }
    p {
        font-size: 0.85rem;
    }
    .detail-text p {
        font-size: .75rem;
        color: var(--light-color);
    }
    .qr-square {
        height: 64px;
        width: 64px;
    }
    .row-container {
        max-height: 50%;
    }
    .main {
        padding: 1.25rem 2.5rem;
    }
}

/*                           */
/* Devices up to small mobile */
/* #1 common screen*/
/* landscape                 */
@media (max-width: 720px) and (orientation:landscape) {
    html, body {
        font-size: 11.5px;
    }
    
    .viewport {
        padding: 0px 0px 0px 0px;
    }
    
    .left-navbar {
        display: none;
    }

    .vid, .caption, .specs, .pics {
        padding: 1%;
    }

    .home-button {
        margin: 9px;
    }

    .language-bar-container {
        right: 9px;
        bottom: 64px;
    }

    .button {
        width: 33.3%;
    }

    h2 {
        font-size: 2.3rem;
    }
    h3 {
        font-size: 1.25rem;
    }
    p {
        font-size: 0.85rem;
    }
    .detail-text p {
        font-size: .7rem;
        color: var(--light-color);
    }
    .qr-square {
        height: 64px;
        width: 64px;
    }

    .left-space-5 {
        padding-left: 0px;
    }
}

/*     ▼       ▼       ▼     */
/*                           */
/*       P O R T R A I T     */
/*       O    N    L   Y     */
/*                           */
/*     ▼       ▼       ▼     */

/*                           */
/* Default code for portrait */
@media (orientation:portrait) {


    .left-navbar {
        display: none;
    }

    .viewport {
        padding: 0px;
    }

    .row-container {
        flex-wrap: wrap;
        height: auto;
    }
    .mobile-flip {
        flex-direction: column-reverse;
    }
    
    .home-button {
        margin: 11px;
    }

    
    .language-bar-container {
        right: 11px;
        bottom: 64px;
    }
    
    .vid, .caption, .specs, .pics {
        width: 100%;
        margin: 0px;
        padding: 0px;
    }
    .vid {
        padding-top: 1vh;
    }
    .video-adapt {
        right: 0;
        bottom: 0;
        width: 100%;
        max-height: 18vh;
        background-size: cover;
    }

    .welcome-container {
        max-height: 60vh;
    }

    #vid-viewport1 {
        right: 0;
        bottom: 0;
        width: 100%;
        max-height: 100%;
        background-size: cover;
    }

    .intro {
        padding-top: 4rem;
    }

    .pics {
        width: 70%;
        margin: auto;
        padding-top: 0.5rem;
    }

    .image {
        height: 12vh;
    }
    .specs {
        width: 100%;
        margin: auto;
        padding: 3% 0 3% 0;
    }
    .detail-col {
        width: 100%;
    }

      .icon-group {
        display: flex;
        padding-bottom: 1vh;
    }

    .sources {
        padding-top: 0.5rem;
    }

    .logo {
        height: 5rem;
        max-width: 100%;
        padding-bottom: 1rem;
      }
    
    .top-space-5 {
        padding-top: 2vh;
    }
    .top-space-2_5 {
        padding-top: 1.5vh;
    }
    .mobile-no-top-space {
        padding-top: 0px;
    }
    .left-space-5 {
        padding-left: 0;
    }

    .button {
        cursor: pointer;
        height: 3.5vh;
        width: 25%;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.25s ease 0s;
    }

    .graph {
        padding: 0px 15%;
    }
    #graph-ivana-anne {
        padding: 0px;
    }

    .row-container {
        min-height: unset;
    }
}

/*                           */
/* Devices up to tablets     */
/* Galaxy Tab S2 (1024 x 768)*/
/* portraits                 */
@media (max-width: 799px) and (orientation: portrait) {
    html, body {
        background-color: white;
        font-size: 18px;
    }
    .main {
        padding: 2rem 1rem 0rem 1rem;
    }
    .left-navbar {
        display: none;
    }

    .viewport {
        padding: 0px;
    }
    .row-container {
        flex-wrap: wrap;
        height: auto;
        min-height: 40%;
    }
    .rows {
        padding-top: 1vh;
    }
    .mobile-flip {
        flex-direction: column-reverse;
    }
    
    .home-button {
        margin: 11px;
    }
    
    .language-bar-container {
        right: 11px;
        bottom: 64px;
    }

    .vid, .caption, .specs, .pics {
        width: 100%;
        margin: 0px;
        padding: 0px;
    }
    .vid {
        padding-top: 1vh;
    }
    .video-adapt {
        right: 0;
        bottom: 0;
        width: 100%;
        max-height: 20vh;
        background-size: cover;
    }

    .welcome-container {
        max-height: 60vh;
    }

    #vid-viewport1 {
        right: 0;
        bottom: 0;
        width: 100%;
        max-height: 100%;
        background-size: cover;
    }

    .intro {
        padding-top: 4rem;
    }

    .pics {
        width: 70%;
        margin: auto;
        padding-top: 0.5rem;
    }

    .image {
        height: 12vh;
    }
    .specs {
        width: 100%;
        margin: auto;
        padding: 3% 0 3% 0;
    }
    .detail-col {
        width: 100%;
    }

      .icon-group {
        display: flex;
        padding-bottom: 1vh;
    }

    .sources {
        padding-top: 0.5rem;
    }
  
    .top-space-5 {
        padding-top: 2vh;
    }
    .top-space-2_5 {
        padding-top: 1.5vh;
    }
    .mobile-no-top-space {
        padding-top: 0px;
    }
    .left-space-5 {
        padding-left: 0;
    }
    h2 {
        font-size: 2.4rem;
    }
    h3 {
        font-size: 1.5rem;
    }
    p {
        font-size: 1rem;
    }
    .detail-text p {
        font-size: .9rem;
        color: var(--light-color);
    }
    .button {
        cursor: pointer;
        height: 3.5vh;
        width: 25%;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.25s ease 0s;
    }
    .qr-square {
        height: 128px;
        width: 128px;
    }
    .process {
        width: 33.33%;
    }
    .software-credits {
        padding: 2.5vh 25%;
    }

    footer {
        padding-bottom: 1rem;
    }
}

/*                          */
/* Devices up to mobile     */
/*                          */
/* portrait                 */
@media (max-width: 480px) and (orientation:portrait) {
    html, body {
        background-color: white;
        font-size: 14px;
    }

    .rows {
        padding-top: 2.5vh;
    }

    .main {
        padding: 2rem 1rem 0rem 1rem;
    }
    .left-navbar {
        display: none;
    }
    html, body {
        font-size: 12px;
    }
    .viewport {
        padding: 0px;
    }
    .row-container {
        flex-wrap: wrap;
        height: auto;        
        min-height: 38%;
    }
    .mobile-flip {
        flex-direction: column-reverse;
    }
    
    .home-button {
        margin: 9px;

    }
    .language-bar-container {
        right: 9px;
        bottom: 64px;
    }
    .vid, .caption, .specs, .pics {
        width: 100%;
        margin: 0px;
        padding: 0px;
    }
    .vid {
        padding-top: 1vh;
    }
    .video-adapt {
        right: 0;
        bottom: 0;
        width: 100%;
        max-height: 18vh;
        background-size: cover;
    }

    .welcome-container {
        max-height: 60vh;
    }

    #vid-viewport1 {
        right: 0;
        bottom: 0;
        width: 100%;
        max-height: 100%;
        background-size: cover;
    }

    .intro {
        padding-top: 4rem;
    }

    .pics {
        width: 70%;
        margin: auto;
        padding-top: 0.5rem;
    }

    .image {
        height: 12vh;
    }
    .specs {
        width: 100%;
        margin: auto;
        padding: 3% 0 3% 0;
    }
    .detail-col {
        width: 100%;
    }

      .icon-group {
        display: flex;
        padding-bottom: 1vh;
    }

    .sources {
        padding-top: 0.5rem;
    }

    .logo {
        height: 5rem;
        max-width: 100%;
        padding-bottom: 1rem;
      }
    
    .top-space-5 {
        padding-top: 2vh;
    }
    .top-space-2_5 {
        padding-top: 1.5vh;
    }

    .left-space-2_5 {
        padding-left: 0;
    }

    .mobile-no-top-space {
        padding-top: 0px;
    }
    .left-space-5 {
        padding-left: 0;
    }
    h2 {
        font-size: 2.3rem;
    }
    h3 {
        font-size: 1.25rem;
    }
    p {
        font-size: 0.85rem;
    }
    .detail-text p {
        font-size: .75rem;
        color: var(--light-color);
    }
  
    .qr-square {
        height: 64px;
        width: 64px;
    }
    .title-fake {
        float: right;
        margin-left: auto;
    }
    .title-Lab {
        margin-left: 12.5vw;
    }
    .title-line-container {
        display: flex;
        width: 100%;
        line-height: var(--title-phoneUp-height);
    }
    h1 {
        font-size: 7.5rem;
        font-size: var(--title-phoneUp-size);
        line-height: var(--title-phoneUp-height);
    }
    .title-line-container {
        height: var(--title-phoneUp-height);
    }
    .title-line {
        background-color: var(--accent-color);
        ;
        height: 1rem;
        margin: calc(var(--title-phoneUp-height) * 0.55 + 0%) 15px calc(var(--title-phoneUp-height) * 0.45 + 0%);
        width: 100%;
    }
    .language-bar {
        flex-direction: column;
        padding: 10px 36px;
        text-align: right;
    }
    .language-bar-element {
        margin: 0.2rem 0rem;
        padding: .25rem 1rem;
        font-size: 1.25rem;
    }
}

@media (max-width: 360px) and (orientation:portrait) { 
    .rows{
    padding-top: 0.5vh;
    }

    p {
        font-size: 0.8rem;
    }
}